package dominioEntity;

import hbt.PersistentObject;

import java.sql.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;

///Factura lado Servidor DAO (Persistencia)
@Entity
public class Factura extends PersistentObject {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private int numero;
	private Date fecha;
	@OneToOne(cascade = CascadeType.ALL)
	@PrimaryKeyJoinColumn  (name="idCliente")
	private Cliente cliente;
	@OneToMany(cascade = CascadeType.ALL)
	@JoinColumn(name="idRemitoCliente")
	private RemitoCliente remito;
	private float descuento;
	@OneToMany(cascade = CascadeType.ALL)
	@JoinColumn(name="idItemFactura")
	private List<ItemFactura> itemsFactura;
	@OneToMany(cascade = CascadeType.ALL)
	@JoinColumn(name="idItemCotizacion")
	private List<ItemCotizacion> itemsCotizados;
	private String estado;
	private float iva;
	private float ingBrutos;
	
	//Getters & Setters
	public int getNumero() {
		return numero;
	}
	public void setNumero(int numero) {
		this.numero = numero;
	}
	public Date getFecha() {
		return fecha;
	}
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	public Cliente getCliente() {
		return cliente;
	}
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	public RemitoCliente getRemito() {
		return remito;
	}
	public void setRemito(RemitoCliente remito) {
		this.remito = remito;
	}
	public float getDescuento() {
		return descuento;
	}
	public void setDescuento(float descuento) {
		this.descuento = descuento;
	}
	public List<ItemFactura> getItemsFactura() {
		return itemsFactura;
	}
	public void setItemsFactura(List<ItemFactura> itemsFactura) {
		this.itemsFactura = itemsFactura;
	}
	public List<ItemCotizacion> getItemsCotizados() {
		return itemsCotizados;
	}
	public void setItemsCotizados(List<ItemCotizacion> itemsCotizados) {
		this.itemsCotizados = itemsCotizados;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public float getIva() {
		return iva;
	}
	public void setIva(float iva) {
		this.iva = iva;
	}
	public float getIngBrutos() {
		return ingBrutos;
	}
	public void setIngBrutos(float ingBrutos) {
		this.ingBrutos = ingBrutos;
	}
	
}
